package com.pishou.code.thread;

import com.pishou.code.util.FileAction;
import com.pishou.code.bean.Video;
import com.pishou.code.util.FileDownload;

import java.io.File;



public class VideoDownload extends Thread {

	private Video video;
	
	public VideoDownload(Video video) {
		super();
		this.video = video;
	}

	@Override
	public void run() {
		try {
			// 在临时文件夹实例一个文件
			File file = new File(video.getPath().replace("/video/", "/temp/"));
			System.out.println(video.getPath());
			if(!file.exists()) {
				try {
					// 判断文件夹路径是否正确，创建不存在的文件夹
					File p_file = file.getParentFile();
					if (!p_file.exists()){
						p_file.mkdirs();
					}
					File f_file = new File(p_file.getAbsolutePath().replace("/temp","/video"));
					System.out.println(f_file.getAbsolutePath());
					if (!f_file.exists()){
						f_file.mkdirs();
					}
					try{
						file.createNewFile();
					}catch (Exception e){
						e.printStackTrace();
					}
					// 启动下载
					System.out.println("下载文件路径："+file.getAbsolutePath());
					boolean b = FileDownload.downloadFile(video.getOss(),file);
				} catch (Exception e) {
					e.printStackTrace();
					// 如果下载失败，删除临时文件夹中的文件
					FileAction.delFile(file.getAbsolutePath());
				}
				// 下载完成后，把文件从临时文件夹移动到播放文件夹中
				FileAction.moveFile(file.getAbsolutePath(), video.getPath());
				System.out.println("《"+video.getName()+"》文件下载完成");
			}else {
				System.out.println("文件正在下载中"+file.getName()+", 已下载："+file.length());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
